|
In mathematical optimization, the push–relabel algorithm (alternatively, preflow–push algorithm) is an algorithm for computing maximum flows. The name "push–relabel" comes from the two basic operations used in the algorithm. Throughout its execution, the algorithm maintains a "preflow" and gradually converts it into a maximum flow by moving flow locally between neighboring vertices using ''push'' operations under the guidance of an admissible network maintained by ''relabel'' operations. In comparison, the Ford–Fulkerson algorithm performs global augmentations that send flow following paths from the source all the way to the sink.〔 The push–relabel algorithm is considered one of the most efficient maximum flow algorithms. The generic algorithm has a strongly polynomial time complexity, which is asymptotically more efficient than the Edmonds–Karp algorithm.〔 Specific variants of the algorithms achieve even lower time complexities. The variant based on the highest label vertex selection rule has time complexity and is generally regarded as the benchmark for maximum flow algorithms.〔〔 Subcubic time complexity can be achieved using dynamic trees, although in practice it is less efficient.〔 The push–relabel algorithm has been extended to compute minimum cost flows.〔 The idea of distance labels has led to a more efficient augmenting path algorithm, which in turn can be incorporated back into the push–relabel algorithm to create a variant with even higher empirical performance.〔〔 ==History== The concept of a preflow was originally designed by Alexander V. Karzanov and was published in 1974 in Soviet Mathematical Dokladi 15. This preflow algorithm also used a push operation; however, it used distances in the auxiliary network to determine where to push the flow instead of a labeling system.〔〔 The push-relabel algorithm was designed by Andrew V. Goldberg and Robert Tarjan. The algorithm was initially present in November 1986 in STOC '86: Proceedings of the eighteenth annual ACM symposium on Theory of computing, and then officially in October 1988 as an article in the Journal of the ACM. Both papers detail a generic form of the algorithm terminating in along with a sequential implementation, a implementation using dynamic trees, and parallel/distributed implementation.〔〔 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Push–relabel maximum flow algorithm」の詳細全文を読む スポンサード リンク
|